<?php

class ServicoAutorizacaoCredito {
    
    protected $idTransacao = 0;
    protected $SoapClient;

    private function getSoapClient() {
        if (!$this->SoapClient) {
            $aOptions = array( 'location' => 'http://127.0.0.1/Indirecao/Service/service.php', 
                               'uri' => 'http://127.0.0.1/Indirecao/Service/', 
                               'trace' => 1 ); 
            $this->SoapClient  = new SoapClient(null, $aOptions);            
        }
        return $this->SoapClient;
    }

    public function autorizarPagamento(PagamentoViaCartao $oPagamento) {
        try {
            $oSoap       = $this->getSoapClient();
            $idTransacao = $oSoap->autorizaPagamento($oPagamento->getNumeroCartao(),$oPagamento->getValor());
            $this->setIdTransacao($idTransacao);
        } 
        catch (Exception $E) {
            $this->setIdTransacao(0);
            // echo $E->getMessage();
        }
        return $this->getIdTransacao();
    }
    
    public function isAutorizado() {
        return ($this->idTransacao > 0);
        
    }
    
    public function getIdTransacao() {
        return $this->idTransacao;
    }

    protected function setIdTransacao($idTransacao) {
        $this->idTransacao = $idTransacao;
    }



}
?>
